package com.framework.foundation.login;

import com.framework.foundation.common.BaseController;
import com.framework.foundation.common.Constant;
import com.framework.foundation.common.vo.IResult;
import com.framework.foundation.system.user.UserService;
import com.jfinal.aop.Before;
import com.jfinal.ext.interceptor.GET;
import com.jfinal.ext.interceptor.POST;
import com.jfinal.ext.render.CaptchaRender;

/**
 * 登陆控制器
 * 
 * @Author: Brin
 * @Date: 2015年10月16日 下午4:34:14
 */
public class LoginController extends BaseController {

	// 跳转登陆页面
	@Before(GET.class)
	public void index() {
		render("login.html");
	}

	// 执行登陆操作
	@Before(POST.class)
	public void login() {
		String username = getPara("username");
		String password = getPara("password");
		String authCode = getPara("authCode");
		IResult<Object> result = UserService.me.login(username, password, authCode, this);
		if (result.success()) {
			// 保存当前用户到seesion
			setSessionAttr(Constant.ADMIN_USER, result.getData());
		}
		renderJson(result);
	}

	// 安全退出
	public void logout() {
		removeSessionAttr(Constant.ADMIN_USER);
		redirect("/");
	}

	// 生成验证码
	public void authCode() {
		render(new CaptchaRender(Constant.ADMIN_AUTHCODE_KEY));
	}

}
